/* 
 * File:   BoardController.h
 * Author: rc
 *
 * Created on May 28, 2010, 1:14 PM
 */

#ifndef _BOARDCONTROLLER_H
#define	_BOARDCONTROLLER_H
#include "../../Model/headers/Board.h"
#include "../../Model/headers/Subject.h"

class BoardController: public Subject {
public:
    BoardController(); //creates a new board. 
    BoardController(Board *); //takes an already created Board as arg.
    BoardController(const BoardController& orig); 
    virtual ~BoardController(); //erases mBoard when BoardController dies
    void addPiece(Board::Colors, int); //add piece by color & triangle-index.    
    void removePiece(int); //removes the piece at the given index
    Board::triangle* getTriangleData(int);
    void movePiece(int src, int dest);
     
private:
    Board *mBoard;

};

#endif	/* _BOARDCONTROLLER_H */

